This FAQ is out-of-date and updated infrequently. The GIMPS forums provide may provide a better way for you to search for answers or ask new questions and get answers from long-time GIMPS members.
This page contains answers to some of the frequently asked questions about the Mersenne Prime Freeware. It answers questions about what the program does and how to use it. It does not answer questions about networking problems or questions about the PrimeNet server. For answer's to those questions visit the PrimeNet server's FAQ.
- General Questions
- Using the Program
- Will the program interfere with my normal work?
Highly unlikely. The program runs at the lowest possible priority. This means it runs only when you are not using your computer for other purposes. However, the program will use about 8MB of memory. If your computer is low on memory, running the program could increase thrashing and cause other programs to run a bit slower. For more information, see the case studies that have been done.
Note: The above does not apply to the Windows 3.1 version. You should only run that version when you are not using your computer.
- Will my computer have to be on all the time? What if my computer crashes?
You can stop the program at any time. When you restart the program it will pick up right where it left off. However, if your computer is not on most of the time, progress could be painfully slow. The program also writes save files every half hour. Thus, if your computer crashes you will lose no more than a half hour's work.
- Will running my computer 24 hours a day shorten its lifespan?
While I don't know of any serious studies on the subject, there is plenty of evidence that today's PCs are able to run all the time. Your computer is apt to become obsolete before individual parts wear out. This is not a guarantee! You are proceeding at your own risk. Running all the time will increase your electric bill. You should keep an eye on the results.txt file for any error messages. They can indicate failing memory or an overheating CPU.
- What are Mersenne primes? How are they useful?
A Mersenne prime is a prime number of the form 2P-1. There are 41 known Mersenne primes. The first few values of P which yield a Mersenne prime are 2, 3, 5, 7, 13 (the corresponding primes are 3, 7, 31, 127, 8191). A Lucas-Lehmer primality test is used to determine if 2P-1 is prime. For further information, visit Chris Caldwell's superb web page on Mersenne primes.
Finding new Mersenne primes is not likely to be of any immediate practical value. This search is primarily a recreational pursuit. However, the search for Mersenne primes has proved useful in development of new algorithms, testing computer hardware, and interesting young students in math.
- How long will it take? What are my chances of finding a prime?
The time it takes to run a Lucas-Lehmer primality test depends on the speed of your computer and the size of the exponent you are testing. Today's typical computer, say a 2 GHz P4, takes two to three weeks of 24 hours a day operation to complete a single primality test. The forms on the benchmark page can give you a more accurate estimate.
Your chance of finding a new Mersenne prime is about 1 in 150,000.
- How does the program use the Internet to get work and report results?
The program connects to a central server on the Internet (called PrimeNet) to get exponents to test and to report your results. These messages are quite small and should only be necessary a couple of times a month.
You do not need a permanent Internet connection. If you use a modem, the program waits in the background until you connect to the Internet. While you are browsing or reading your email, the program will send its small messages to the server. Properly configured, the program will not dial up your ISP on its own. Furthermore, you can override this automatic behavior and completely control when the program contacts the server.
The program supports either RPC or HTTP protocols. It is also possible to use a proxy server. See the PrimeNet server's FAQ for more details.
- Can I participate if my computer doesn't have an Internet connection?
Yes. The PrimeNet server has manual web pages to get exponents to test and report your results. Be sure to report your results in a timely manner or your exponents may be reassigned to someone else for testing.
Alternatively, but more work for me, you can download a database of untested exponents, select a range of exponents to test, and send me email.
- What does the screen output mean?
The output you see on screen and in the results file is described in the readme.txt file.
- What is the difference between factoring, double-checking, and Lucas-Lehmer testing?
Trial factoring is an effort to prove a Mersenne number composite (not prime) by finding a small factor. We do this in the hopes that a few hours of factoring will eliminate the need to run weeks of Lucas-Lehmer testing. Trial factoring cannot be used to find a new Mersenne prime. The Lucas-Lehmer primality test is the only way to prove these large numbers prime. Double-checking is the re-running of a Lucas-Lehmer primality test. Computers are not perfect and sometimes the original Lucas-Lehmer test was incorrect. If the original Lucas-Lehmer test was in error, then double-checking could find a new Mersenne prime.
- I was assigned factoring work. How can I get primality testing work instead?
By default, the program assigns Lucas-Lehmer tests to 900 MHz or faster Pentium computers. Double-checking is assigned to PCs faster than 200 MHz. A 200MHz Pentium running 6 hours a day is considered a 50 MHz Pentium.
You can override this default behavior in the Test/Primenet dialog box. However, be aware that a Cyrix, K5, or 486 will take years of non-stop work to complete a single Lucas-Lehmer test. Visit the benchmark page to make sure you have the patience to run primality tests. I recommend making sure you have the correct options set in the Options/CPU dialog box and not overriding the default behavior.
- Why does this utility I have say the program is running at normal priority?
The program has two "threads". One thread draws the main window and waits for you to select a menu choice. This thread takes virtually no CPU time and does run at normal priority. The second thread does the real work and really does run at the lowest possible priority. To further complicate matters, Windows priorities are controlled by both a "process priority" and a "thread priority". Your utility is either displaying the priority of the first thread or the process priority rather than the priority of the worker thread.
- Will the program run faster if I raise the priority?
No. The operating system does an excellent job of giving all spare CPU cycles to the program. The only thing that raising the priority will do is make your other jobs less responsive.
For example, lets say during the next minute your spreadsheet needs 10 seconds to recalculate. If your spreadsheet is running at a higher priority, then it will take 10 elapsed seconds to display its results. Prime95 will then get the remaining 50 seconds of the minute. If they run at equal priority, then the spreadsheet will get 10 of the next 20 elapsed seconds before it displays its results. Prime95 also gets 10 of the first 20 seconds as well as the remaining 40 seconds. In both cases prime95 got 50 CPU seconds, but in the first case you saw your spreadsheet results faster.
- I found a factor but the program is still trying to factor the same number. Why?
The program prior to version 20 looks for an even smaller factor. The only reason to do this is to make sure my database contains the smallest factor of each Mersenne number. This will let a future mathematician do some research and analysis on the distribution of factors. The fact that factors are not tested in order has to do with an obscure program optimization.
- Must I exit the program prior to a system shutdown?
No. Using the normal orderly shutdown procedure (from the Start menu in Windows) will create the proper save files for the program to pick up where it left off when you restart your machine.
- Why is my K6 / Cyrix so slow?
The program uses the floating point unit (FPU) to do most of its calculations. The Pentium FPU is pipelined. This means a properly coded application can perform one FPU operation every clock cycle. The AMD K6 is not pipelined. It can perform one operation every two clock cycles. Thus, the K6 is roughly half as fast as a similarly clocked Pentium. The Cyrix chips are much worse. The FPU executes one instruction every 4 or more clock cycles. Thus, the Cyrix chips are about 6 times slower than a Pentium. The good news for you is that properly optimized floating point applications are rare and your AMD or Cyrix chip will perform quite well on most other applications.
Note: The AMD K6 3DNow technology cannot be used. This new feature only supports single precision floating point operations.
- What is the password to activate the Advanced menu?
The password is in the readme.txt file along with a description of what each entry in the Advanced menu does. Note that some of the menu items will remain grey until you choose Test/Stop.
- I run both Linux and Windows. Are the two versions compatible?
Yes. Load both mprime and prime95 in a directory that can be accessed by both Linux and Windows. The two programs can then share the INI files, save files, result files, etc. Make sure you start the program automatically when you boot either operating system.
- I own a dual-CPU computer or several computers networked together. Can these CPUs work together on the same exponent to get results faster?
No. It is not uncommon for the program to read and write nearly 100MB of data every second. This is far too much data to transfer around the network in a timely manner.
Although, a program could be written for dual-CPU systems (it would be quite time-consuming), the machine will still get more throughput by working on separate exponents.
Last updated: February 3, 2003
Getting started: Main page | How it works | Download | FAQ | Benchmarks | Prizes
Learning more: History | The math | Source code | Mailing list
Project status: Status | Top producers | PrimeNet
Miscellaneous: Manual testing | Credits | Links | Feedback | Other projects